/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Console Permission API
云托管服务的控制台权限API

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef JdccsApiModel_h
#define JdccsApiModel_h
#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKCommon/JDCloudOCSDKCommon.h>
#import <JDCloudOCSDKJdccs/JdccsModel.h>


@interface JdccsDescribeBandwidthTrafficRequest:JDCloudRequest

/// IDC机房ID
@property (strong,nonatomic,nonnull)  NSString*  idc;
/// 带宽（出口）实例ID
@property (strong,nonatomic,nonnull)  NSString*  bandwidthId;
-(id) initWithRegion:(NSString *)regionId
idc:(NSString*)idc
bandwidthId:(NSString*)bandwidthId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
idc:(NSString*)idc
bandwidthId:(NSString*)bandwidthId;

@end

@interface JdccsLastDownsampleRequest:JDCloudRequest

/// 资源ID，支持多个resourceId批量查询，每个id用竖线 | 分隔
@property (strong,nonatomic,nonnull)  NSString*  resourceId;
/// IDC机房ID
@property (strong,nonatomic,nonnull)  NSString*  idc;
/// 监控项英文标识(id)
@property (strong,nonatomic,nonnull)  NSString*  metric;
-(id) initWithRegion:(NSString *)regionId
resourceId:(NSString*)resourceId
idc:(NSString*)idc
metric:(NSString*)metric;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
resourceId:(NSString*)resourceId
idc:(NSString*)idc
metric:(NSString*)metric;

@end

@interface JdccsDescribeMetricDataRequest:JDCloudRequest

/// 资源ID
@property (strong,nonatomic,nonnull)  NSString*  resourceId;
/// 查询时间范围的开始时间， UNIX时间戳，（最多支持最近90天数据查询）
@property (strong,nonatomic,nonnull)  NSNumber*  startTime;
/// 查询时间范围的结束时间， UNIX时间戳，（最多支持最近90天数据查询）
@property (strong,nonatomic,nonnull)  NSNumber*  endTime;
/// 时间间隔：分钟m、小时h、天d，如： 10分钟&#x3D;10m、1小时&#x3D;1h，3天&#x3D;3d；默认5m，最小支持5m，最大90d
@property (strong,nonatomic,nonnull)  NSString*  timeInterval;
/// IDC机房ID
@property (strong,nonatomic,nonnull)  NSString*  idc;
/// 监控项英文标识(id)
@property (strong,nonatomic,nonnull)  NSString*  metric;
-(id) initWithRegion:(NSString *)regionId
resourceId:(NSString*)resourceId
startTime:(NSNumber*)startTime
endTime:(NSNumber*)endTime
timeInterval:(NSString*)timeInterval
idc:(NSString*)idc
metric:(NSString*)metric;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
resourceId:(NSString*)resourceId
startTime:(NSNumber*)startTime
endTime:(NSNumber*)endTime
timeInterval:(NSString*)timeInterval
idc:(NSString*)idc
metric:(NSString*)metric;

@end

@interface JdccsDescribeBandwidthTrafficsRequest:JDCloudRequest

/// 页码, 默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小，默认为20
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// IDC机房ID
@property (strong,nonatomic,nonnull)  NSString*  idc;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
idc:(NSString*)idc;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
idc:(NSString*)idc;

@end

@interface JdccsDescribeIdcsRequest:JDCloudRequest

/// 页码, 默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小，默认为20
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

@end

@interface JdccsDescribeBandwidthTrafficResult : NSObject
/// 带宽（出口）流量（资源）详情
 @property (strong,nonatomic,nonnull)  BandwidthTraffic*  bandwidthTraffic;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithBandwidthTraffic:(BandwidthTraffic*) bandwidthTraffic;
@end

@interface JdccsDescribeBandwidthTrafficsResult : NSObject
/// BandwidthTraffics
 @property (strong,nonatomic,nonnull)  NSArray<DescribeBandwidthTraffic*>*  bandwidthTraffics;
/// 页码
 @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
 @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 总数量
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithBandwidthTraffics:(NSArray<DescribeBandwidthTraffic*>*) bandwidthTraffics

    pageNumber:(NSNumber*)pageNumber

    pageSize:(NSNumber*)pageSize

    totalCount:(NSNumber*)totalCount;
@end

@interface JdccsDescribeBandwidthTrafficsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property JdccsDescribeBandwidthTrafficsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(JdccsDescribeBandwidthTrafficsResult*) result;
@end

@interface JdccsDescribeMetricsRequest:JDCloudRequest

@end

@interface JdccsDescribeMetricsResult : NSObject
/// Metrics
 @property (strong,nonatomic,nonnull)  NSArray<Metric*>*  metrics;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithMetrics:(NSArray<Metric*>*) metrics;
@end

@interface JdccsDescribeMetricsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property JdccsDescribeMetricsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(JdccsDescribeMetricsResult*) result;
@end

@interface JdccsLastDownsampleResult : NSObject
/// Items
 @property (strong,nonatomic,nonnull)  NSArray<LastDownsampleRespItem*>*  items;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithItems:(NSArray<LastDownsampleRespItem*>*) items;
@end

@interface JdccsLastDownsampleResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property JdccsLastDownsampleResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(JdccsLastDownsampleResult*) result;
@end

@interface JdccsDescribeMetricDataResult : NSObject
/// MetricData
 @property (strong,nonatomic,nonnull)  MetricData*  metricData;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithMetricData:(MetricData*) metricData;
@end

@interface JdccsDescribeMetricDataResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property JdccsDescribeMetricDataResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(JdccsDescribeMetricDataResult*) result;
@end

@interface JdccsDescribeBandwidthTrafficResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property JdccsDescribeBandwidthTrafficResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(JdccsDescribeBandwidthTrafficResult*) result;
@end

@interface JdccsDescribeCabinetsResult : NSObject
/// Cabinets
 @property (strong,nonatomic,nonnull)  NSArray<DescribeCabinet*>*  cabinets;
/// 页码
 @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
 @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 总数量
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCabinets:(NSArray<DescribeCabinet*>*) cabinets

    pageNumber:(NSNumber*)pageNumber

    pageSize:(NSNumber*)pageSize

    totalCount:(NSNumber*)totalCount;
@end

@interface JdccsDescribeRoomsResult : NSObject
/// Rooms
 @property (strong,nonatomic,nonnull)  NSArray<Room*>*  rooms;
/// 页码
 @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
 @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 总数量
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithRooms:(NSArray<Room*>*) rooms

    pageNumber:(NSNumber*)pageNumber

    pageSize:(NSNumber*)pageSize

    totalCount:(NSNumber*)totalCount;
@end

@interface JdccsDescribeCabinetsRequest:JDCloudRequest

/// 页码, 默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小，默认为20
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// roomNo - 房间号，精确匹配，支持多个
   /// cabinetId - 机柜ID，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
/// IDC机房ID
@property (strong,nonatomic,nonnull)  NSString*  idc;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters
idc:(NSString*)idc;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters
idc:(NSString*)idc;

@end

@interface JdccsDescribeRoomsRequest:JDCloudRequest

/// 页码, 默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小，默认为20
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// roomNo - 房间号，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
/// IDC机房ID
@property (strong,nonatomic,nonnull)  NSString*  idc;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters
idc:(NSString*)idc;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters
idc:(NSString*)idc;

@end

@interface JdccsDescribeRoomsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property JdccsDescribeRoomsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(JdccsDescribeRoomsResult*) result;
@end

@interface JdccsDescribeIdcsResult : NSObject
/// Idcs
 @property (strong,nonatomic,nonnull)  NSArray<Idc*>*  idcs;
/// 页码
 @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
 @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 总数量
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithIdcs:(NSArray<Idc*>*) idcs

    pageNumber:(NSNumber*)pageNumber

    pageSize:(NSNumber*)pageSize

    totalCount:(NSNumber*)totalCount;
@end

@interface JdccsDescribeIdcsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property JdccsDescribeIdcsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(JdccsDescribeIdcsResult*) result;
@end

@interface JdccsDescribeCabinetsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property JdccsDescribeCabinetsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(JdccsDescribeCabinetsResult*) result;
@end

#endif /* JdccsApiModel_h */
